package com.marvels.financial.funds.dao;

import java.util.List;

import com.marvels.financial.funds.dto.FundDTO;
import com.marvels.financial.loan.dto.McfeFundBankDto;
import com.marvels.financial.loan.dto.McfeFundLimitDto;

/**
 * 
 * @author 毛小宁
 * @date 2018年4月10日
 */
public interface IFundDao {

	/**查询资金源
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param ptDto
	 * @return
	 */
	List<FundDTO> select(FundDTO ptDto);
	
	
	/**插入资金源
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param ptDto
	 */
	public void insertFund(FundDTO ptDto);
	
	
	/**插入资金源支持银行
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param list
	 */
	public void insertFundBank(List<McfeFundBankDto> list);
	
	
	/**查询资金源限额表
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param mcfeFundLimitDto
	 */
	public void insertFundLimit(List<McfeFundLimitDto> mcfeFundLimitDtoList);
	
	
	/**根据fundCode查询限额
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param fundDTO
	 * @return
	 */
	public List<McfeFundLimitDto> selectLimitByFundCode(FundDTO fundDTO);
	
	
	
	/**根据fundCode查询授权银行
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param fundDTO
	 * @return
	 */
	public List<McfeFundBankDto> selectBankByFundCode(FundDTO fundDTO);
	
	/**根据资金源code更新资金源
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param fundDTO
	 */
	public void updateFundByFundCode(FundDTO fundDTO);
	
	/**逻辑删除资金源对应的银行
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param fundDTO
	 */
	public void updateBankByFundCode(FundDTO fundDTO);
	
	
	/**逻辑删除资金源对应的限额
	 * @author 娄凯琦
	 * @date 2018年4月19日  
	 * @param fundDTO
	 */
	public void updateLimitByFundCode(FundDTO fundDTO);
	
	/**
	 * 查询最大资金源id
	 * @return
	 */
	public String maxFundCode();
}
